package com.blog.admin.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.blog.admin.bean.Role;
import com.blog.admin.bean.RoleMenuMapping;
import com.blog.admin.bean.User;

public interface RoleMapper 
{
    /**
     * @todo 通过用户名查询角色
     * @author fg
     * @date 2016年1月28日
     */
    List<Role> selectRoleByUserId(Integer id);
    
    /**
     * @todo 查询所有角色
     * @author fg
     * @date 2016年1月28日
     */
    List<Role> selectAllRole();
    
    /**
     * @todo 通过id查询角色
     * @author fg
     * @date 2016年1月28日
     */
    Role selectRoleById(Integer id);
    
    /**
     * @todo 添加tUserRoleMapping
     * @author fg
     * @date 2016年1月30日
     */
    Integer insertUserRoleMapping(@Param("userId")Integer userId,@Param("roleIds")String[] roleIds);
    
    /**
     * @todo 通过用户id删除现有的角色映射关系
     * @author fg
     * @date 2016年1月30日
     */
    void deleteUserRoleMapingByUserId(@Param("userId")Integer userId);
    
    /**
     * @todo 添加角色
     * @author fg
     * @date 2016年1月31日
     */
    Integer insertRole(Role role);
    
	/**
	 * @todo 插入RoleMenuMapping
	 * @author fg
	 * @date 2016年1月31日
	 */
	Integer insertRoleMenuMapping(RoleMenuMapping roleMenuMapping);
	
	
	/**
	 * @todo 通过角色id删除角色菜单映射
	 * @author fg
	 * @date 2016年2月2日
	 */
	void deleteRoleMenuMappingByUserId(Integer roleId);
	
	/**
	 * @todo 通过角色id删除角色
	 * @author fg
	 * @date 2016年2月2日
	 */
	void deleteRoleByUserId(Integer roleId);
	
	/**
	 * @todo 修改角色
	 * @author fg
	 * @date 2016年3月15日
	 */
	void updateRoleById(String id,String roleName);
}